// 根据API文档定义的店铺相关类型

// 更新店铺数据传输对象
export interface StoreUpdateDTO {
  name?: string; // 店铺名称
  logo?: string; // 店铺Logo URL
  description?: string; // 店铺描述
  phone?: string; // 店铺联系电话
  address?: string; // 店铺详细地址
  longitude?: number; // 经度
  latitude?: number; // 纬度
  businessHours?: string; // 营业时间，例如："08:00-22:00"
  deliveryFee?: number; // 配送费
  minOrderAmount?: number; // 起送金额
  averageDeliveryTime?: number; // 平均配送时间(分钟)
  categoryId?: number; // 店铺分类ID
  licenseImg?: string; // 营业执照图片URL
  permitImg?: string; // 许可证图片URL
}

// 店铺基本信息视图对象
export interface StoreVO {
  id: number; // 店铺ID
  name: string; // 店铺名称
  logo: string; // 店铺Logo URL
  description: string; // 店铺描述
  phone: string; // 店铺联系电话
  address: string; // 店铺详细地址
  longitude: number; // 经度
  latitude: number; // 纬度
  businessHours: string; // 营业时间
  deliveryFee: number; // 配送费
  minOrderAmount: number; // 起送金额
  averageDeliveryTime: number; // 平均配送时间(分钟)
  categoryId: number; // 店铺分类ID
  status: "OPEN" | "CLOSED" | "SUSPENDED" | "PENDING"; // 状态
  rating: number; // 店铺评分
  monthlySales: number; // 月销量
  distance?: number; // 距离 (米, 仅当提供用户经纬度时计算)
  hasPromotion: boolean; // 是否有进行中的促销活动
  historyId?: number; // 在查看历史板块时储存当前历史记录ID，否则为空
}

// 创建店铺数据传输对象
export interface StoreCreateDTO {
  name: string; // 店铺名称
  logo?: string; // 店铺Logo URL
  description?: string; // 店铺描述
  phone: string; // 店铺联系电话
  address: string; // 店铺详细地址
  longitude?: number; // 经度
  latitude?: number; // 纬度
  businessHours?: string; // 营业时间
  deliveryFee?: number; // 配送费
  minOrderAmount?: number; // 起送金额
  averageDeliveryTime?: number; // 平均配送时间(分钟)
  categoryId: number; // 店铺分类ID
  licenseImg?: string; // 营业执照图片URL
  permitImg?: string; // 许可证图片URL
}

// 更新店铺状态数据传输对象
export interface StoreStatusUpdateDTO {
  storeStatus: "OPEN" | "CLOSED" | "SUSPENDED" | "PENDING"; // 新的状态
}

// 商品分类视图对象
export interface FoodCategoryVO {
  id: number; // 分类ID
  name: string; // 分类名称
  sort: number; // 排序字段
}
